#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include "src/ui_animated_dialog.h"
#include "src/ui_start_menu.h"
#include "thread_get_desktop_icon.h"
#include "src/ui_graphics_scene.h"

#include <QMainWindow>
#include <QImage>
#include <QSharedPointer>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    void Init();

private:
    Ui::MainWindow *ui;

    UiGraphicsScene* scene_;
    UiAnimatedDialog* loading_dlg_;
    UiStartMenu*     start_menu_;
    QImage wallpaper_img_;
    QList<DesktopIcon> desktop_icon_list_;
    ThreadGetDesktopIcon* icon_thread_;

    enum start_menu_pos
    {
        ENUM_BOTTOM = 0,
        ENUM_LEFT,
        ENUM_TOP,
        ENUM_RIGHT
    };

private:
    void create_widget();

private slots:
    void slot_get_icon_finished();

};
#endif // MAINWINDOW_H
